package org.gy.T11.t4;

import java.io.DataInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * ⽬标：完成TCP通信快速⼊⻔-服务端开发：实现服务端反复发消息
 */
public class Server {
    public static void main(String[] args) throws Exception {
        System.out.println("-----服务端启动成功-------");
// 1、创建ServerSocket的对象，同时为服务端注册端⼝。
        ServerSocket serverSocket = new ServerSocket(8888);
// 2、使⽤serverSocket对象，调⽤⼀个accept⽅法，等待客户端的连接请求
        Socket socket = serverSocket.accept();
// 3、从socket通信管道中得到⼀个字节输⼊流。
        InputStream is = socket.getInputStream();
// 4、把原始的字节输⼊流包装成数据输⼊流
        DataInputStream dis = new DataInputStream(is);
        while (true) {
            try {
// 5、使⽤数据输⼊流读取客户端发送过来的消息
                String rs = dis.readUTF();
                System.out.println(rs);
            } catch (Exception e) {
                System.out.println(socket.getRemoteSocketAddress() + "离线了！");
                        dis.close();
                socket.close();
                break;
            }
        }
    }
}
